home *** CD-ROM | disk | FTP | other *** search
- Include Traps.D ; Use System and ToolBox traps
-
- .TRAP _DebugStr $ABFF
-
- .Align 2
-
- k EQU 20
- Coln EQU 62
- Space EQU 63
- Ex EQU 64
- Period EQU 65
- Decimal EQU 66
- Blank EQU 67
- Unknown EQU 68
- Array EQU 15
-
- Resource 'INIT' 12
-
- Start
- MOVEM.L A0-A4/D0-D7,-(SP)
- _GetZone
- LEA Storage,A1
- MOVE.L A0,(A1)
- MOVEA.L $2A6,A0
- _SetZone
-
- MOVE.L #$0F000,D0 ;SPACE FOR HLock Code
- _NewPtr
- MOVEA.L $CC8,A1
- MOVEA.L (A1),A1
- MOVEA.L $16(A1),A1
- MOVEA.L (A1),A1
- LEA OldScreen,A2 ;save old screen
- MOVE.L (A1),(A2)
- MOVE.L A0,(A1) ;set our screen to be the new screen
-
- MOVEA.L A0,A1
- MOVE #$EFFF,D0 ;fill in new screen
- @2 MOVE.B #-1,(A1)+
- DBRA D0, @2
-
- ADD.L #$0EF80,A0 ;Bottom of screen, so it reverses
- LEA NewScreen,A1
- MOVE.L A0,(A1)
-
- MOVE.L #200,D0 ;SPACE FOR HUnLock Code
- _NewPtr
- LEA MemShowCursor,A1
- MOVE.L A0,(A1)
-
- MOVEA.L Storage,A0
- _SetZone
-
- PlaceCode
- LEA vblAddr,A0
- MOVE.L MemShowCursor,(A0)
-
- LEA ScreenFlip,A1
- MOVEA.L MemShowCursor,A0
- MOVE #199,D0 ;MOVE NEW CODE IN
- @1 MOVE.B (A1)+,(A0)+
- DBRA D0, @1
-
- MOVE.L MemShowCursor,A0
- ADDA.W offset,A0
- _VInstall
-
- MOVEM.L (SP)+,A0-A4/D0-D7
- RTS
-
- Storage
- DC.L 0
- MemShowCursor
- DC.L 0
-
-
- ;*************************** The RAM Patch Codes ***************************
-
- ;*************************** The HLock Patch ***************************
-
- .Align 4
-
- ScreenFlip
- MOVE.L OldScreen,A2
- MOVE.L NewScreen,A3
- MOVE #479,D1
- @2 MOVEA.L A2,A0
- MOVEA.L A3,A1
- MOVE #19,D0
- @1 MOVE.L (A1)+,(A0)+
- DBRA D0, @1
- ADDA #$80,A2
- SUBA #$80,A3
- DBRA D1,@2
- LEA vblCount,A0
- MOVE #1,(A0)
- RTS
-
-
- NewScreen DC.L 0
- OldScreen DC.L 0
-
- vblBlock DC.L 0
- qType DC.W 1
- vblAddr DC.L 0
- vblCount DC.W 1
- vblPhase DC.W 0
-
- offset DC.W vblBlock-ScreenFlip